package cn.iocoder.yudao.module.system.controller.app.partnercoupon.vo;

import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponTemplateRespDTO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Schema(description = "App - 合伙人优惠券 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppPartnerCouponRespVO extends CouponTemplateRespDTO implements Serializable {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "24050")
    @ExcelProperty("编号")
    private Long id;

    @Schema(description = "合伙人ID", example = "12757")
    @ExcelProperty("合伙人ID")
    private Long partnerId;

    @Schema(description = "优惠劵模板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "22905")
    @ExcelProperty("优惠劵模板编号")
    private Long templateId;

//    @Schema(description = "优惠劵名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
//    @ExcelProperty("优惠劵名")
//    private String name;

//    private Integer useScope;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("状态")
    private Integer status;

    @Schema(description = "总数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "10077")
    @ExcelProperty("总数量")
    private Integer totalCount;

    @Schema(description = "已发送数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "5453")
    @ExcelProperty("已发送数量")
    private Integer takeCount;

    @Schema(description = "剩余数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "5453")
    @ExcelProperty("剩余数量")
    private Integer remainCount;

    @Schema(description = "是否可以领取", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    private Boolean canTake;

    @Schema(description = "开始时间")
    @ExcelProperty("开始时间")
    private LocalDateTime startTime;

    @Schema(description = "结束时间")
    @ExcelProperty("结束时间")
    private LocalDateTime endTime;
}